// 集合
export interface Column {
    comment: string,
    dataType: string,
    name: string
}

export interface collectionInfo {
    namespace: string,
    collectionName: string,
    collectionComment: string,
    replicasNum: number,
    shardsNum: number,
    sampleColumns: Array<Column>,
    faceColumns: Array<Column>,
    storageFaceInfo: boolean,
    storageEngine: string

}


// 样本

export interface MapColumn {
    key: string,
    value: Object,
}

export interface Face {
    faceData: Array<MapColumn>,
    faceId: string,
    faceScore: number
}


export interface SampleInfo {
    collectionName: string,
    namespace: string,
    sampleData: Array<MapColumn>,
    sampleId: string
    faces: Array<Face>,
}

export interface FaceDataInfo {
    collectionName: string,
    namespace: string,
    sampleId: string,
    imageBase64: string,
    faceData: Array<MapColumn>,
    faceScoreThreshold: number,
    maxConfidenceThresholdWithOtherSample: number,
    minConfidenceThresholdWithThisSample: number
}


export interface FaceSearchInfo {
    namespace: string
    collectionName: string,
    imageBase64: string,
    confidenceThreshold: number,
    faceScoreThreshold: number,
    limit: number,
    maxFaceNum: number,

}

export interface FaceCompareInfo {
    imageBase64A: string,
    imageBase64B: string,
    needFaceInfo: boolean
    faceScoreThreshold: number,
}

export interface FaceSearchResult {
    faceScore: number,
    location: {
        x: number,
        y: number,
        width: number,
        height: number
    },
    match: {
        confidence: number,
        faceData: Array<MapColumn>,
        faceId: string,
        faceScore: number,
        sampleData: Array<MapColumn>,
        sampleId: string
    }[]
}






